builder-tool: Avoid a crash
authorMatthias Clasen <mclasen@redhat.com>
Sun, 1 Nov 2020 15:32:13 +0000 (10:32 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 2 Nov 2020 02:23:35 +0000 (21:23 -0500)
Be more careful about types that have been removed.
I was getting criticals when converting ui files
containing GtkToolbars.

gtk/tools/gtk-builder-tool-simplify.c

index f2f57d8eab8bf0556dfad7b55de34ea21d140695..e1e92b79700317b34da49ada09c54838e5e83e8b 100644 (file)
@@ -589,7 +589,7 @@ static gboolean
 property_is_boolean (Element      *element,
                      MyParserData *data)
 {
-  GParamSpec *pspec;
+  GParamSpec *pspec = NULL;
   const char *class_name;
   const char *property_name;
   int i;
@@ -605,7 +605,8 @@ property_is_boolean (Element      *element,
         property_name = (const char *)element->attribute_values[i];
     }
 
-  pspec = get_property_pspec (data, class_name, property_name, kind);
+  if (class_name && property_name)
+    pspec = get_property_pspec (data, class_name, property_name, kind);
   if (pspec)
     return G_PARAM_SPEC_VALUE_TYPE (pspec) == G_TYPE_BOOLEAN;